package com.mjk.common.base.work.annotation;

import lombok.Getter;
import org.springframework.stereotype.Component;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Documented
@Target({java.lang.annotation.ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Component
public @interface BeeApi {
    /**
     * 说明
     *
     * @return
     */
    String name() default "";

    /**
     * 是否全量返回数据包含数据中得null值
     *
     * @return
     */
    boolean setOnNull() default false;

    /**
     * 接口对应的全需 如 user#read 用户模块的读权限
     *
     * @return
     */
    String role() default "";

    /**
	 * 返回结果
	 */
	ResponseType type() default ResponseType.NORMAL;


	enum ResponseType {
		NORMAL,//默认返回BeeResponse
		CUSTOM, //返回自定义结果，会抛弃BeeResponse中的code和MSG
		//只返回data里面的内容
		JSON,//返回json
		XML//返回xml
	}
}
